Package-level declarations
Types
Thin context for the embabel.action span: wraps the owning AgentProcess and the Action.
Port for direct instrumentation at the agent work sites (agent turn, action, LLM call, tool loop).
Thin context for the embabel.agent span: wraps the live AgentProcess, from which the registered convention reads all attributes — status at stop, so it reflects the final outcome.
Marks observability instrumentation types (observation contexts, the AgentInstrumentation port and its helpers) as internal SPI: the core uses them to create spans, but they are not part of the public agent API and may change without notice. Kotlin callers must opt in with @OptIn(InternalObservabilityApi::class).
Thin context for the embabel.llm span: wraps the LlmRequestEvent; the convention extracts attributes.
No-op default: runs work and creates no observation, never even invoking context. Active whenever no observability module contributes an AgentInstrumentation bean.
Direct-instrumentation helpers used at the agent work sites.
Java-friendly view of the Kotlin Result carried by ToolCallResponseEvent, for Java consumers (e.g. the observability module) that cannot read a Kotlin inline value class directly. Lives in this Kotlin module so the read stays native — no reflection.
Thin context for the embabel.tool_loop span: wraps the ToolLoopStartEvent and the inputMessages (the prompt, captured at start). output is set after the loop runs and read by the convention at stop — the only mutable field, since the result is not on the start event.